package main

import (
	"fmt"
	"html/template"
	"log"
	"net/http"
)

func login(w http.ResponseWriter, r *http.Request) {
	fmt.Println("method", r.Method) // 获取请求方法
	if r.Method == "GET" {
		t, _ := template.ParseFiles("./login.gtpl")
		t.Execute(w, nil)
	} else {
		r.ParseForm()
		fmt.Println("r.Form", r.Form)
	}
}

func sayHello(w http.ResponseWriter, r *http.Request) {
	r.ParseForm()                   // 解析参数，默认不解析， post请求主题,get请求query参数,不解析参数将咩有输出
	fmt.Println(r.Form)             //query参数 id=1&name=123 => map[id:[1] name:[123]] 参数列表
	fmt.Println("path", r.URL.Path) // 路径
	fmt.Println("scheme", r.URL.Scheme)
	fmt.Println(r.Form["url_long"]) // 获取query参数中的url_long
	for k, v := range r.Form {
		fmt.Println("key", k)
		fmt.Println("value", v)
	}

	fmt.Fprintf(w, "Hello World!") // 返回客户端
}
func main() {
	http.HandleFunc("/", sayHello) // 设置访问的路由
	http.HandleFunc("/login", login)
	err := http.ListenAndServe(":9090", nil) // 设置监听的端口
	if err != nil {
		log.Fatal("ListenAndServe:", err)
	}
}
